package com.shangxia.monomer.common.util;

import lombok.Data;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

/**
 * @author zhouya38158
 * @Package com.shangxia.monomer.common.util
 * @date 2021/9/1 8:44
 */
public class DataFactoryUtil {
    static List<Integer> LAST = new ArrayList<>();

    public static void main(String[] args) {
        createList(0);
        Page page = new Page();
        page.setPage(1);
        page.setPageSize(15);
        page.setContext(new ArrayList<>());
        boolean flag = true;
        List<Integer> data = new ArrayList<>();
        while (flag) {
            Page page1 = getPage(page);
            data.addAll(page1.getContext());
            if (data.size() == 30) {
                System.out.println("data.size=" + data.size());
                data.clear();
            }
            if (page.getTotal() < page.getPage() * page.getPageSize()) {
                System.out.println("data.size=" + data.size());
                data.clear();
                flag = false;
            }
            page.setPage(page.getPage() + 1);
        }

    }

    private static void createList(int size) {
        Random random = new Random();
        for (int j = 0; j < size; j++) {
            LAST.add(random.nextInt(100));
        }
    }

    private static Page getPage(Page page) {
        page.setTotal(LAST.size());
        page.context = LAST.subList((page.getPage() - 1) * page.pageSize, Math.min((page.getPage() * page.pageSize), LAST.size()));
        return page;
    }

    @Data
    static class Page {
        Integer total;
        List<Integer> context;
        Integer page;
        Integer pageSize;
    }
}
